package com.net.oil.action.contract;

import com.net.oil.action.bean.ActionDetailBean;
import com.net.oil.base.IBaseModel;
import com.net.oil.http.custom.ApiException;

/**
 * 作者：lch
 * 时间：2018/5/17 0017:下午 21:08
 * 邮箱：245850413@qq.com
 * 说明：
 */

public interface ActionDetailContract {
    interface Model extends IBaseModel{

        /**
         * 获取活动详情
         * @param actionId  活动id
         */
        void getActionDetail(int actionId);

        /**
         * 领取优惠券
         * @param actionId  活动id
         */
        void getCoupon(int actionId);
    }

    interface View {

        /**
         * 获取活动详情成功
         * @param actionDetailBean  活动详情
         */
        void getActionDetailSuccess(ActionDetailBean actionDetailBean);

        /**
         * 获取活动详情失败
         */
        void getActionDetailFailed();

        /**
         * 领取优惠券成功
         */
        void getCouponSuccess();

        /**
         * 领取优惠券失败
         */
        void getCouponFailed(ApiException e);
    }

    interface Presenter {

        /**
         * 获取活动详情
         * @param actionId  活动id
         */
        void getActionDetail(int actionId);

        /**
         * 获取活动详情成功
         * @param actionDetailBean  活动详情
         */
        void getActionDetailSuccess(ActionDetailBean actionDetailBean);

        /**
         * 获取活动详情失败
         */
        void getActionDetailFailed();

        /**
         * 领取优惠券
         * @param actionId  活动id
         */
        void getCoupon(int actionId);

        /**
         * 领取优惠券成功
         */
        void getCouponSuccess();

        /**
         * 领取优惠券失败
         */
        void getCouponFailed(ApiException e);
    }
}
